# coding: utf-8
# python3.6
""" ndarray(类型): N维数组对象(矩阵), 所有元素类型必须相同
	ndarray属性: 
		ndim属性, 表示维度个数; 
		shape属性, 表示各维度大小; 
		dtype属性, 表示数据类型
	
	常用方法:
		array, zeros, ones, empty
		ones_like, 以数组为单位复制一个形状相同的数组, 元素为1
		zeros_like
		eye: 对角线为1的矩阵
"""
import numpy as np

print("使用列表生成一维数组")
data = [[1,2],[3,4],[5,6]]
x = np.array(data)
print("打印数组x:", x)
print("打印数组维度x.ndim:", x.ndim)
print("打印数组类型x.dtype:", x.dtype)
print("打印各维数组的长度x.shape:", x.shape)
print("-"*20, "\n")

x = np.zeros(6)
print("打印元素为0长度为6的一维数组x", x)
x = np.zeros((2,2,2,2))
print("打印长度为2的4维数组(4维里面2个3维, 3维里面2个2维, 2维里面2个1维, 1维里面2个0)x", x)
print("-"*20, "\n")

x = np.ones_like(x)
print("打印元素为1长度为6的一维数组x", x)
print("-"*20, "\n")

x1 = np.empty((2,2))
print("打印元素为未初始化, 长度为2的2维数组x1", x1)
print("-"*20, "\n")

x = np.eye(10, 5)
print("打印对角线为1的矩阵数组x", x)
print("-"*20, "\n")

x = np.arange(3)
print("打印数组x ->", x)
print("-"*20, "\n")
